/* initialize arrays */

#include "s.h"
#include "g.h"

struct tlvars lvars[] = { &o_avar, 1,
                          &o_avar, 2,
                          &o_avar, 3,
                          &o_avar, 4,
                          &o_avar, 5,
                          &o_avar, 6,
                          &o_avar, 7,
                          &o_avar, 8,
                          &o_avar, 9,
                          &o_avar, 10,
                          &o_lvar, 1,
                          &o_lvar, 2,
                          &o_lvar, 3,
                          &o_lvar, 4,
                          &o_lvar, 5,
                          &o_lvar, 6,
                          &o_lvar, 7,
                          &o_lvar, 8,
                          &o_lvar, 9,
                          &o_lvar, 10
                       };

int (*(op[]))() = { &o_add,
                    &o_sub,
                    &o_mul,
                    &o_div,
                    &o_mod,
                    &o_cat,
                    &o_sstr,
                    &o_idx,
                    &o_call,
                    &o_gvar,
                    &o_gval,
                    &o_lvar,
                    &o_avar,
                    &o_jump,
                    &o_link,
                    &o_lt,
                    &o_le,
                    &o_eq,
                    &o_ne,
                    &o_ge,
                    &o_gt,
                    &o_jev,
                    &o_asgn,
                    &o_ret,
                    &o_neg,
                    &o_binit,
                    &o_bnext,
                    &o_ssasn,
                    &o_idxl,
                    &o_base,
                    0
                 };

char *opname[]  = { "add",
                    "sub",
                    "mul",
                    "div",
                    "mod",
                    "cat",
                    "sstr",
                    "idx",
                    "call",
                    "gvar",
                    "gval",
                    "lvar",
                    "avar",
                    "jump",
                    "link",
                    "lt",
                    "le",
                    "eq",
                    "ne",
                    "ge",
                    "gt",
                    "jev",
                    "asgn",
                    "ret",
                    "neg",
                    "binit",
                    "bnext",
                    "ssasn",
                    "idxl",
                    "base"
                 };

char *bfname[] = { "null",
                   "close",
                   "compile",
                   "display",
                   "dump",
                   "find",
                   "image",
                   "integer",
                   "many",
                   "map",
                   "match",
                   "numeric",
                   "open",
                   "read",
                   "real",
                   "reverse",
                   "seek",
                   "size",
                   "string",
                   "trace",
                   "type",
                   "upto",
                   "write"
                 };
